package ch02.test01;

/**
 * 1)
 * 封装拷贝文件的总容量及已拷贝文件的容量 - 拷贝文件的状态
 *
 * 2)
 * 实现两个线程共享同一个对象
 *
 * @author lwj
 * @date 2025-03-10
 * @vesion 1.0.0
 */
public class FileData {
    /**
     * 拷贝文件的总容量
     */
    private volatile long totalSize;
    /**
     * 已拷贝的容量
     */
    private volatile long copiedSize;

    // 构造方法
    public FileData() {}
    public FileData(long totalSize, long copiedSize) {
        this.totalSize = totalSize;
        this.copiedSize = copiedSize;
    }

    // 属性
    public long getTotalSize() {
        return totalSize;
    }

    public void setTotalSize(long totalSize) {
        this.totalSize = totalSize;
    }

    public long getCopiedSize() {
        return copiedSize;
    }

    public void setCopiedSize(long copiedSize) {
        this.copiedSize += copiedSize;
    }
}
